/*
 * TaskAssigner.java
 *
 * Created on April 29, 2007, 6:32 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package atag.compiler;

import atag.common.*;

/**
 * This Interface is implemented by all the task assignment modules.
 * @author Animesh
 */
public interface TaskAssigner {

    /**
     * assigns tasks to nodes
     * @param aP The ATaG program
     * @param itP The ITaG version of aP
     * @param caProgram The CATaG version of aP
     * @param nTopo The network, with all nodes
     */
    public void assignTasks(ATaGProgram aP, ITaGProgram itP, ComposedATaG caProgram,
            NetworkTopology nTopo, int randomSeed);
    
}
